package com.hn.kiss.config.aspect;

import java.lang.annotation.*;

@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface LimitSubmit {

    /**
     * 存在redis中的key生成
     **说明 key:%s:#param
     *  key: 自定义key名,确保不重复
     *  %s: 代表当前登录人,不传表示全局接口限制
     *  #param  表示参数,支持多参数
     **实例:user-get:%s:#name#sex
     *  如果{key: user-get, userId: admin, query:{name: aa, sex: 1}}
     *  --> key = user-get:admin:aa1
     * @return
     */
    String key() ;
    /**
     * 默认 10s
     */
    int limit() default 10;

    /**
     * 请求完成后 是否一直等待
     * true则等待
     * @return
     */
    boolean needAllWait() default true;
}
